package sdk

import "encoding/json"

type FallbackData struct {
	Code int `json:"code"`
	Message string `json:"message"`
	Data interface{} `json:"data"`
}
func NewFallbackData()*FallbackData{
	return  &FallbackData{
		Code:    -1,
		Message: "数据网络请求错误",
		Data:    0,
	}
}

// 验证JSON是否符合期望的结构体
func ValidateJSON(jsonStr string, expectedStructure interface{}) bool {
	err := json.Unmarshal([]byte(jsonStr), expectedStructure)
	if err != nil {
		return false
	}

	// 根据期望的结构体类型进行进一步验证
	switch expectedStructure.(type) {
	case *FallbackData:
		person := expectedStructure.(*FallbackData)
		return person.Code != 0 && person.Message != "" && person.Data != nil
	// 如果有其他期望的结构体类型，可以继续添加case
	default:
		return false
	}
}
